CP

C.R. Paulsen

info

Please Note

3 records found

Master thesis (2024) - C.R. Paulsen, S. Proksch, A. van Deursen, C. Lofi
A reliable dependency resolution process should minimize dependency-related issues. We identify transparency, stability, and flexibility as the three core properties that define a reliable resolution process and discuss how different dependency declaration strategies affect them. To increase the reliability of Maven's dependency resolution we identify two patterns of misuse, or smells, that commonly occur in Maven projects: the presence of used undeclared dependencies and conflicting soft version constraints. We introduce and evaluate a proof-of-concept method, MaRCo, designed to address these smells. MaRCo increases transparency by injecting used undeclared dependencies and balances stability and flexibility by replacing soft version constraints with compatible version ranges. The version ranges are generated through a dependency-specific approach to compatibility using bytecode differencing and cross-version testing. The empirical evaluation of MaRCo shows that while the ranges generated by the dependency-specific approach may be stricter than necessary, they are unlikely to contain breaking changes. Overall, we see that MaRCo is able to make the resolution process slightly more reliable, affecting 13% of dependencies in 71% of projects, in a way that is more stable than a soft constraint-only approach, and more flexible than a hard constraint-only approach. ...
Bachelor thesis (2021) - C.R. Paulsen, K. Liang, H. Chen, O.E. Scharenborg
Hyperledger Fabric is a permissioned enterprise blockchain allowing organizations to collaborate and automate processes via smart contracts. However, these contracts could contain security vulnerabilities leading to unexpected behavior or other negative consequences. Therefore, this study takes a closer look at three reported smart contract vulnerabilities in Fabric: rich queries, pseudorandom number generators, and global variables. Smart contracts containing these vulnerabilities were deployed on a test network, and the vulnerable contract features were exploited and explained. The study provides an estimation of each vulnerability's impact severity, and possible countermeasures to lower it were explored and evaluated. This study found that the proposed countermeasures can at least mitigate the impact severity of all three vulnerabilities.
Additionally, the study provides an overview of compatible analysis tools. The available tools were found to be lacking, however, as most of them do not exist outside of research papers. Overall, static code analysis tools were found to be effective at detecting all three vulnerabilities. ...

Sentiment analysis of the Netherlands and Flanders

The department of Urbanism at the TU Delft, our clients, research the sentiment in different places, times, ages or genders and compare them to each other. This report describes the purpose, design, implementation and accuracy of a web tool created to get insights into the sentiment people have, de- ducted from social media. The aim of our project was to make research easy and extracting innovative insights from social media.

In our tool, we analysed tweets and their location to collect information about the sentiment different people have towards places. The implementation of our tool consisted of five main components: (1) Twitter-Kafka, processing the tweets from the tweet data stream to our database, (2) face recognition, used for determining whether a tweet comes from a person instead of a company or organisation and for age and gender inference, (3) sentiment analysis, using machine learning to determine whether a tweet is neutral, negative or positive, (4) REST API, for the connection between the front-end and the back-end and (5) the user interface, in the form of an interactive dashboard.

At the beginning of the project, we set up a pipeline that checks the code on multiple things. The testing of the back-end is based on a Python unit test suit. For the build to succeed, all tests must pass and the total branch coverage must be at least 80%. We used Flake8 and ESlint in our build to ensure code quality at all times.

All of the above-mentioned components are up and running. The clients are now able to research the sentiments of people towards places. ...