This document discusses logical dependencies and their identification and applications. It begins with definitions of different types of dependencies, including structural and logical dependencies. It then describes various studies that have identified logical dependencies by analyzing changes in version control systems over time. These logical dependencies provide additional insight beyond structural dependencies alone. The document outlines applications of logical dependencies, such as change impact analysis, refactoring detection, and understanding coordination needs. It acknowledges challenges in fully understanding influencing factors and calls for further research.
Mining Sociotechnical Information From Software RepositoriesMarco Aurelio Gerosa
A large amount of data is produced during collaborative software development. The analysis of such data sets a great opportunity to better understand Software Engineering from the perspective of evidence-based research. Mining software repositories studies have explored both the technical and social aspects of software development contributed to the discovery of important information about how software development evolves and how developers collaborate. Several repositories store data regarding source code production (version control systems), communication between developers and users (forums and mailing lists), and coordination of activities (issue tracker, task managers, etc.). In the open source world, such data is available in large ecosystems of software development. Platforms such as GitHub host millions of repositories, which receive contributions from millions of developers worldwide. Some project repositories register data from more than a decade of development, enabling the analysis of projects from a historical perspective. In this talk, I will discuss some of the uses and challenges of mining software repositories, focusing on some works conducted in our group, such as: identification of change dependencies, evaluation of architectural degradation from commit meta-data, core-periphery analysis of developers participation, change-proneness prediction, analysis of the impact of refactoring on code quality, and relations between quality attributes of the test and the code being tested.
Findability through Traceability - A Realistic Application of Candidate Tr...Markus Borg
Conference presentation from ENASE 2012 in Wroclaw, Poland.
Abstract: Since software development is of dynamic nature, the impact analysis is an inevitable work task. Traceability is known as one factor that supports this task, and several researchers have proposed traceability recovery tools to propose trace links in an existing system. However, these semi-automatic tools have not yet proven useful in industrial applications. Based on an established automation model, we analyzed the potential value of such a tool. We based our analysis on a pilot case study of an impact analysis process in a safety-critical development context, and argue that traceability recovery should be considered an investment in ndability. Moreover, several risks involved in an increased level of impact analysis automation are already plaguing the state-
of-practice workflow. Consequently, deploying a traceability recovery tool involves a lower degree
of change than has previously been acknowledged.
Mining Sociotechnical Information From Software RepositoriesMarco Aurelio Gerosa
A large amount of data is produced during collaborative software development. The analysis of such data sets a great opportunity to better understand Software Engineering from the perspective of evidence-based research. Mining software repositories studies have explored both the technical and social aspects of software development contributed to the discovery of important information about how software development evolves and how developers collaborate. Several repositories store data regarding source code production (version control systems), communication between developers and users (forums and mailing lists), and coordination of activities (issue tracker, task managers, etc.). In the open source world, such data is available in large ecosystems of software development. Platforms such as GitHub host millions of repositories, which receive contributions from millions of developers worldwide. Some project repositories register data from more than a decade of development, enabling the analysis of projects from a historical perspective. In this talk, I will discuss some of the uses and challenges of mining software repositories, focusing on some works conducted in our group, such as: identification of change dependencies, evaluation of architectural degradation from commit meta-data, core-periphery analysis of developers participation, change-proneness prediction, analysis of the impact of refactoring on code quality, and relations between quality attributes of the test and the code being tested.
Findability through Traceability - A Realistic Application of Candidate Tr...Markus Borg
Conference presentation from ENASE 2012 in Wroclaw, Poland.
Abstract: Since software development is of dynamic nature, the impact analysis is an inevitable work task. Traceability is known as one factor that supports this task, and several researchers have proposed traceability recovery tools to propose trace links in an existing system. However, these semi-automatic tools have not yet proven useful in industrial applications. Based on an established automation model, we analyzed the potential value of such a tool. We based our analysis on a pilot case study of an impact analysis process in a safety-critical development context, and argue that traceability recovery should be considered an investment in ndability. Moreover, several risks involved in an increased level of impact analysis automation are already plaguing the state-
of-practice workflow. Consequently, deploying a traceability recovery tool involves a lower degree
of change than has previously been acknowledged.
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphsdgarijo
In this presentation we describe the Ontology-Based APIs framework (OBA), our approach to automatically create REST APIs from ontologies while following RESTful API best
practices. Given an ontology (or ontology network) OBA uses standard technologies familiar to web developers (OpenAPI Specification, JSON) and combines them with W3C standards (OWL, JSON-LD frames and SPARQL) to create maintainable APIs with documentation, units tests, automated validation of resources and clients (in Python, Javascript, etc.) for non Semantic Web experts to access the contents of a target
knowledge graph. We showcase OBA with three examples that illustrate the capabilities of the framework for different ontologies.
A Template-Based Approach for Annotating Long-Tailed Datasetsdgarijo
An increasing amount of data is shared on the Web through heterogeneous spreadsheets and CSV files. In order to homogenize and query these data, the scientific community has developed Extract, Transform and Load (ETL) tools and services that help making these files machine readable in Knowledge Graphs (KGs). However, tabular data may be complex; and the level of expertise required by existing ETL tools makes it difficult for users to describe their own data. In this paper we propose a simple annotation schema to guide users when transforming complex tables into KGs. We have implemented our approach by extending T2WML, a table annotation tool designed to help users annotate their data and upload the results to a public KG. We have evaluated our effort with six non-expert users, obtaining promising preliminary results.
An increasing number of researchers rely on computational methods to generate the results described in their publications. Research software created to this end is heterogeneous (e.g., scripts, libraries, packages, notebooks, etc.) and usually difficult to find, reuse, compare and understand due to its disconnected documentation (dispersed in manuals, readme files, web sites, and code comments) and a lack of structured metadata to describe it. In this talk I will describe the main challenges for finding, comparing and reusing research software, how structured metadata can help to address some of them, which are the best practices being proposed by the community; and current initiatives to aid their adoption by researchers within EOSC.
Impact: The talk addresses an important aspect of the EOSC infrastructure for quality research software by ensuring that software contributed to the EOSC ecosystem can be found, compared and reused by researchers. The talk also aims to address metadata quality of current research products, which is critical for successful adoption.
Presented at the EOSC symposium
Towards Knowledge Graphs of Reusable Research Software Metadatadgarijo
Research software is a key asset for understanding, reusing and reproducing results in computational sciences. An increasing amount of software is stored in code repositories, which usually contain human readable instructions indicating how to use it and set it up. However, developers and researchers often need to spend a significant amount of time to understand how to invoke a software component, prepare data in the required format, and use it in combination with other software. In addition, this time investment makes it challenging to discover and compare software with similar functionality. In this talk I will describe our efforts to address these issues by creating and using Open Knowledge Graphs that describe research software in a machine readable manner. Our work includes: 1) an ontology that extends schema.org and codemeta, designed to describe software and the specific data formats it uses; 2) an approach to publish software metadata as an open knowledge graph, linked to other Web of Data objects; and 3) a framework for automatically extracting metadata from software repositories; and 4) a framework to curate, query, explore and compare research software metadata in a collaborative manner. The talk will illustrate our approach with real-world examples, including a domain application for inspecting and discovering hydrology, agriculture, and economic software models; and the results of our framework when enriching the research software entries in Zenodo.org.
Entity Linking Combining Open Source Annotatorspruiz_
Poster for 2015 NAACL Demo: Ruiz, Pablo, Thierry Poibeau, and Frédérique Mélanie (2015). ELCO3 : Entity Linking with Corpus Coherence Combining Open Source Annotators. In Proceedings of the Demonstrations at NAACL 2015. Denver, U.S
A methodology to evaluate object oriented software systems using change requi...ijseajournal
It is a well known fact that software maintenance plays a major role and finds importance in software
development life cycle. As object
-
oriented programming has become the standard, it is very important to
understand th
e problems of maintaining object
-
oriented software systems. This paper aims at evaluating
object
-
oriented software system through change requirement traceability
–
based impact analysis
methodology
for non functional requirements using functional requirem
ents
. The major issues have been
related to change impact algorithms and inheritance of functionality.
Changeability has a direct relation to software maintainability and has a major role in providing high quality maintainable and trustworthy software. The concept of Changeability is a major factor when we design and develop software and its constituents. Developing programs and its constituent components with good changeability continually improves and simplifies test operations and maintenance during and after implementation. It encourages and supports improvement in software quality at design stage in the development of software. The research here highlights the importance of changeability broadly and also as an important aspect of software quality.
In this paper a correlation between the major attributes of object oriented design and changeability has been ascertained. A changeability evaluation model using multiple linear regression has been proposed for object oriented design. The validation of the proposed changeability evaluation model is made known by means of experimental tests and the results show that the model is highly significant.
Changeability has a direct relation to software maintainability and has a major role in providing high quality maintainable and trustworthy software. The concept of Changeability is a major factor when we design and develop software and its constituents. Developing programs and its constituent components with good changeability continually improves and simplifies test operations and maintenance during and after implementation. It encourages and supports improvement in software quality at design stage in the development of software. The research here highlights the importance of changeability broadly and also as an important aspect of software quality.
· Discussion Assignments You are required to answer one of t.docxoswald1horne84988
· Discussion Assignments
You are required to answer one of the discussion questions in between 500 and 600 words. You will be penalized for having less than 500 words or exceeding 600 words.
· Your essay should be titled using both the number identifier for and the exact wording of the question that you are attempting. This becomes the title/subject of your essay. Do not use your name or the Discussion number as the title/subject of your essay. A penalty of half a point (0.5) penalty will be imposed on a violation of this requirement.
· The relevant Course readings must be referenced using in-text citations (author and page number – MLA style) in every discussion. Non-course materials may be used to supplement the course readings. However, a “Works Cited” with full bibliographic information must be provided for non-course materials. PowerPoint lectures may be used and cited but they are not considered course readings (they are lectures). You will lose a full point for not referencing assigned course readings in your discussion essay. A violation of this requirement will also make you ineligible for a rewrite on the said assignment.
· Your essay must include a word count at the end using this format: Word Count: xxx. This word count excludes the title and references at the end of the essay. You will lose half a point (0.5) for not including a word count at the end of your Discussion essay. A violation of this requirement will also make you ineligible for a rewrite on the assignment.
· You will be penalized half a point (0.5) for falsifying your word count. This will also make you ineligible for a rewrite on the said assignment.
U
M
a
b
a
A
R
R
A
A
K
R
U
S
S
1
H
w
s
e
d
2
o
i
a
2
m
s
f
a
u
s
m
a
a
t
e
(
0
d
The Journal of Systems and Software 84 (2011) 328–339
Contents lists available at ScienceDirect
The Journal of Systems and Software
j o u r n a l h o m e p a g e : w w w . e l s e v i e r . c o m / l o c a t e / j s s
ser requirements modeling and analysis of software-intensive systems
ichel dos Santos Soares a,∗, Jos Vrancken b, Alexander Verbraeck b
Universidade Federal de Uberlândia, P.O. Box 593, 38400-902 Uberlândia, Brazil
Delft University of Technology, P.O. Box 5015, NL 2600 GA, Delft, The Netherlands
r t i c l e i n f o
rticle history:
eceived 20 July 2010
eceived in revised form 7 October 2010
a b s t r a c t
The increasing complexity of software systems makes Requirements Engineering activities both more
important and more difficult. This article is about user requirements development, mainly the activities
of documenting and analyzing user requirements for software-intensive systems. These are modeling
ccepted 14 October 2010
vailable online 26 October 2010
eywords:
equirements
ML
ysML
activities that are useful for further Requirements Engineering activities. Current techniques for require-
ments modeling present a number of problems and limitations. Based on these shortcomings, a list of
requirement.
AGILE SOFTWARE ARCHITECTURE INGLOBAL SOFTWARE DEVELOPMENT ENVIRONMENT:SYSTEMA...ijseajournal
In recent years, software development companies started to adopt Global Software Development (GSD) to
explore the benefits of this approach, mainly cost reduction. However, the GSD environment also brings
more complexity and challenges. Some challenges are related to communication aspects like cultural differences, time zone, and language. This paper is the first step in an extensive study to understand if the
software architecture can ease communication in GSD environments. We conducted a Systematic Literature Mapping (SLM) to catalog relevant studies about software architecture and GSD teams and identify
potential practices for use in the software industry. This paper’s findings contribute to the GSD body of
knowledge by exploring the impact of software architecture strategy on the GSD environment. It presents
hypotheses regarding the relationship between software architecture and GSD challenges, which will guide
future research.
This seminar lecture, provided at the Gran Sasso Science Institute, provides an overview on software architecture styles, product lines, and my research
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseWaqas Tariq
Software maintenance is important and difficult to measure. The cost of maintenance is the most ever during the phases of software development. One of the most critical processes in software development is the reduction of software maintainability cost based on the quality of source code during design step, however, a lack of quality models and measures can help asses the quality attributes of software maintainability process. Software maintainability suffers from a number of challenges such as lack source code understanding, quality of software code, and adherence to programming standards in maintenance. This work describes model based-factors to assess the software maintenance, explains the steps followed to obtain and validate them. Such a method can be used to eliminate the software maintenance cost. The research results will enhance the quality of the source code. It will increase software understandability, eliminate maintenance time, cost, and give confidence for software reusability.
Top Software Engineering & Applications Research articles of 2019ijseajournal
The International Journal of Software Engineering & Applications (IJSEA) is a bi-monthly open access peer-reviewed journal that publishes articles which contribute new results in all areas of the Software Engineering & Applications. The goal of this journal is to bring together researchers and practitioners from academia and industry to focus on understanding Modern software engineering concepts & establishing new collaborations in these areas.
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...ijseajournal
Software project estimation is important for allocating resources and planning a reasonable work schedule. Estimation models are typically built using data from completed projects. While organizations have their historical data repositories, it is difficult to obtain their collaboration due to privacy and competitive concerns. To overcome the issue of public access to private data repositories this study proposes an algorithm to extract sufficient data from the GitHub repository for building duration estimation models. More specifically, this study extracts and analyses historical data on WordPress projects to estimate OSS project duration using commits as an independent variable as well as an improved classification of contributors based on the number of active days for each contributor within a release period. The results indicate that duration estimation models using data from OSS repositories perform well and partially solves the problem of lack of data encountered in empirical research in software engineering.
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphsdgarijo
In this presentation we describe the Ontology-Based APIs framework (OBA), our approach to automatically create REST APIs from ontologies while following RESTful API best
practices. Given an ontology (or ontology network) OBA uses standard technologies familiar to web developers (OpenAPI Specification, JSON) and combines them with W3C standards (OWL, JSON-LD frames and SPARQL) to create maintainable APIs with documentation, units tests, automated validation of resources and clients (in Python, Javascript, etc.) for non Semantic Web experts to access the contents of a target
knowledge graph. We showcase OBA with three examples that illustrate the capabilities of the framework for different ontologies.
A Template-Based Approach for Annotating Long-Tailed Datasetsdgarijo
An increasing amount of data is shared on the Web through heterogeneous spreadsheets and CSV files. In order to homogenize and query these data, the scientific community has developed Extract, Transform and Load (ETL) tools and services that help making these files machine readable in Knowledge Graphs (KGs). However, tabular data may be complex; and the level of expertise required by existing ETL tools makes it difficult for users to describe their own data. In this paper we propose a simple annotation schema to guide users when transforming complex tables into KGs. We have implemented our approach by extending T2WML, a table annotation tool designed to help users annotate their data and upload the results to a public KG. We have evaluated our effort with six non-expert users, obtaining promising preliminary results.
An increasing number of researchers rely on computational methods to generate the results described in their publications. Research software created to this end is heterogeneous (e.g., scripts, libraries, packages, notebooks, etc.) and usually difficult to find, reuse, compare and understand due to its disconnected documentation (dispersed in manuals, readme files, web sites, and code comments) and a lack of structured metadata to describe it. In this talk I will describe the main challenges for finding, comparing and reusing research software, how structured metadata can help to address some of them, which are the best practices being proposed by the community; and current initiatives to aid their adoption by researchers within EOSC.
Impact: The talk addresses an important aspect of the EOSC infrastructure for quality research software by ensuring that software contributed to the EOSC ecosystem can be found, compared and reused by researchers. The talk also aims to address metadata quality of current research products, which is critical for successful adoption.
Presented at the EOSC symposium
Towards Knowledge Graphs of Reusable Research Software Metadatadgarijo
Research software is a key asset for understanding, reusing and reproducing results in computational sciences. An increasing amount of software is stored in code repositories, which usually contain human readable instructions indicating how to use it and set it up. However, developers and researchers often need to spend a significant amount of time to understand how to invoke a software component, prepare data in the required format, and use it in combination with other software. In addition, this time investment makes it challenging to discover and compare software with similar functionality. In this talk I will describe our efforts to address these issues by creating and using Open Knowledge Graphs that describe research software in a machine readable manner. Our work includes: 1) an ontology that extends schema.org and codemeta, designed to describe software and the specific data formats it uses; 2) an approach to publish software metadata as an open knowledge graph, linked to other Web of Data objects; and 3) a framework for automatically extracting metadata from software repositories; and 4) a framework to curate, query, explore and compare research software metadata in a collaborative manner. The talk will illustrate our approach with real-world examples, including a domain application for inspecting and discovering hydrology, agriculture, and economic software models; and the results of our framework when enriching the research software entries in Zenodo.org.
Entity Linking Combining Open Source Annotatorspruiz_
Poster for 2015 NAACL Demo: Ruiz, Pablo, Thierry Poibeau, and Frédérique Mélanie (2015). ELCO3 : Entity Linking with Corpus Coherence Combining Open Source Annotators. In Proceedings of the Demonstrations at NAACL 2015. Denver, U.S
A methodology to evaluate object oriented software systems using change requi...ijseajournal
It is a well known fact that software maintenance plays a major role and finds importance in software
development life cycle. As object
-
oriented programming has become the standard, it is very important to
understand th
e problems of maintaining object
-
oriented software systems. This paper aims at evaluating
object
-
oriented software system through change requirement traceability
–
based impact analysis
methodology
for non functional requirements using functional requirem
ents
. The major issues have been
related to change impact algorithms and inheritance of functionality.
Changeability has a direct relation to software maintainability and has a major role in providing high quality maintainable and trustworthy software. The concept of Changeability is a major factor when we design and develop software and its constituents. Developing programs and its constituent components with good changeability continually improves and simplifies test operations and maintenance during and after implementation. It encourages and supports improvement in software quality at design stage in the development of software. The research here highlights the importance of changeability broadly and also as an important aspect of software quality.
In this paper a correlation between the major attributes of object oriented design and changeability has been ascertained. A changeability evaluation model using multiple linear regression has been proposed for object oriented design. The validation of the proposed changeability evaluation model is made known by means of experimental tests and the results show that the model is highly significant.
Changeability has a direct relation to software maintainability and has a major role in providing high quality maintainable and trustworthy software. The concept of Changeability is a major factor when we design and develop software and its constituents. Developing programs and its constituent components with good changeability continually improves and simplifies test operations and maintenance during and after implementation. It encourages and supports improvement in software quality at design stage in the development of software. The research here highlights the importance of changeability broadly and also as an important aspect of software quality.
· Discussion Assignments You are required to answer one of t.docxoswald1horne84988
· Discussion Assignments
You are required to answer one of the discussion questions in between 500 and 600 words. You will be penalized for having less than 500 words or exceeding 600 words.
· Your essay should be titled using both the number identifier for and the exact wording of the question that you are attempting. This becomes the title/subject of your essay. Do not use your name or the Discussion number as the title/subject of your essay. A penalty of half a point (0.5) penalty will be imposed on a violation of this requirement.
· The relevant Course readings must be referenced using in-text citations (author and page number – MLA style) in every discussion. Non-course materials may be used to supplement the course readings. However, a “Works Cited” with full bibliographic information must be provided for non-course materials. PowerPoint lectures may be used and cited but they are not considered course readings (they are lectures). You will lose a full point for not referencing assigned course readings in your discussion essay. A violation of this requirement will also make you ineligible for a rewrite on the said assignment.
· Your essay must include a word count at the end using this format: Word Count: xxx. This word count excludes the title and references at the end of the essay. You will lose half a point (0.5) for not including a word count at the end of your Discussion essay. A violation of this requirement will also make you ineligible for a rewrite on the assignment.
· You will be penalized half a point (0.5) for falsifying your word count. This will also make you ineligible for a rewrite on the said assignment.
U
M
a
b
a
A
R
R
A
A
K
R
U
S
S
1
H
w
s
e
d
2
o
i
a
2
m
s
f
a
u
s
m
a
a
t
e
(
0
d
The Journal of Systems and Software 84 (2011) 328–339
Contents lists available at ScienceDirect
The Journal of Systems and Software
j o u r n a l h o m e p a g e : w w w . e l s e v i e r . c o m / l o c a t e / j s s
ser requirements modeling and analysis of software-intensive systems
ichel dos Santos Soares a,∗, Jos Vrancken b, Alexander Verbraeck b
Universidade Federal de Uberlândia, P.O. Box 593, 38400-902 Uberlândia, Brazil
Delft University of Technology, P.O. Box 5015, NL 2600 GA, Delft, The Netherlands
r t i c l e i n f o
rticle history:
eceived 20 July 2010
eceived in revised form 7 October 2010
a b s t r a c t
The increasing complexity of software systems makes Requirements Engineering activities both more
important and more difficult. This article is about user requirements development, mainly the activities
of documenting and analyzing user requirements for software-intensive systems. These are modeling
ccepted 14 October 2010
vailable online 26 October 2010
eywords:
equirements
ML
ysML
activities that are useful for further Requirements Engineering activities. Current techniques for require-
ments modeling present a number of problems and limitations. Based on these shortcomings, a list of
requirement.
AGILE SOFTWARE ARCHITECTURE INGLOBAL SOFTWARE DEVELOPMENT ENVIRONMENT:SYSTEMA...ijseajournal
In recent years, software development companies started to adopt Global Software Development (GSD) to
explore the benefits of this approach, mainly cost reduction. However, the GSD environment also brings
more complexity and challenges. Some challenges are related to communication aspects like cultural differences, time zone, and language. This paper is the first step in an extensive study to understand if the
software architecture can ease communication in GSD environments. We conducted a Systematic Literature Mapping (SLM) to catalog relevant studies about software architecture and GSD teams and identify
potential practices for use in the software industry. This paper’s findings contribute to the GSD body of
knowledge by exploring the impact of software architecture strategy on the GSD environment. It presents
hypotheses regarding the relationship between software architecture and GSD challenges, which will guide
future research.
This seminar lecture, provided at the Gran Sasso Science Institute, provides an overview on software architecture styles, product lines, and my research
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseWaqas Tariq
Software maintenance is important and difficult to measure. The cost of maintenance is the most ever during the phases of software development. One of the most critical processes in software development is the reduction of software maintainability cost based on the quality of source code during design step, however, a lack of quality models and measures can help asses the quality attributes of software maintainability process. Software maintainability suffers from a number of challenges such as lack source code understanding, quality of software code, and adherence to programming standards in maintenance. This work describes model based-factors to assess the software maintenance, explains the steps followed to obtain and validate them. Such a method can be used to eliminate the software maintenance cost. The research results will enhance the quality of the source code. It will increase software understandability, eliminate maintenance time, cost, and give confidence for software reusability.
Top Software Engineering & Applications Research articles of 2019ijseajournal
The International Journal of Software Engineering & Applications (IJSEA) is a bi-monthly open access peer-reviewed journal that publishes articles which contribute new results in all areas of the Software Engineering & Applications. The goal of this journal is to bring together researchers and practitioners from academia and industry to focus on understanding Modern software engineering concepts & establishing new collaborations in these areas.
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...ijseajournal
Software project estimation is important for allocating resources and planning a reasonable work schedule. Estimation models are typically built using data from completed projects. While organizations have their historical data repositories, it is difficult to obtain their collaboration due to privacy and competitive concerns. To overcome the issue of public access to private data repositories this study proposes an algorithm to extract sufficient data from the GitHub repository for building duration estimation models. More specifically, this study extracts and analyses historical data on WordPress projects to estimate OSS project duration using commits as an independent variable as well as an improved classification of contributors based on the number of active days for each contributor within a release period. The results indicate that duration estimation models using data from OSS repositories perform well and partially solves the problem of lack of data encountered in empirical research in software engineering.
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...ijseajournal
Software project estimation is important for allocating resources and planning a reasonable work
schedule. Estimation models are typically built using data from completed projects. While organizations
have their historical data repositories, it is difficult to obtain their collaboration due to privacy and
competitive concerns. To overcome the issue of public access to private data repositories this study
proposes an algorithm to extract sufficient data from the GitHub repository for building duration
estimation models. More specifically, this study extracts and analyses historical data on WordPress
projects to estimate OSS project duration using commits as an independent variable as well as an
improved classification of contributors based on the number of active days for each contributor within a
release period. The results indicate that duration estimation models using data from OSS repositories
perform well and partially solves the problem of lack of data encountered in empirical research in software
engineering
The Application of Function Models In Software Design: A Survey Within the So...CSCJournals
Numerous function modelling approaches exist for software design. However, there is little empirical evidence on how these approaches are used in the early stages of software design. This article presents the results of an online survey on the application of function models in the academic and industrial software development community. The results show that more than 90% of the 75 respondents agreed with the statement that software projects that use function modelling techniques have a higher chance of success than other projects. UML is the most widely accepted and used modelling approach among the respondents, but only a handful of UML diagrams appear to be prominently addressed during the early software design stages. Asked for reasons for selecting or rejecting UML models the majority of respondents mentioned using function models to understand software requirements and communicate these with clients and technical teams, whereas lack of familiarity, the time-consuming nature of some models and data redundancy are widely mentioned reasons for not or seldomly using certain models. The study also shows a strong relationship between model usage and respondents’ professions. We conclude that improvements are required to ensure the benefits of the various available models and the links between the models can be fully exploited to support individual designers, to improve communication and collaboration, and to increase project success. A short discussion on the chosen solution direction - a simplified function modelling approach – closes the paper.
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
As the size and complexity of software systems increase, software development process couldn’t be bound to just codifying some modules that serve needed functionality and finding the appropriate configuration of these modules. Instead, a growing need emerges to sketch a big picture of the whole system that not only identifies basic parts of functionality, but also harmonizes these parts internally, manages how these parts will provide needed functionality, and paves the way for future adaptation. The answer to this need was software architectures. The agile approach to software development wasn’t about introducing a magical solution that will handle all development problems. However, the agile architecting approach is believed to be a source of new problems. Through this paper, we are going to explore agile architecting problems and what is needed to achieve an architecting approach that can be agile, while serving its purpose of
producing a stable architecture.
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
As the size and complexity of software systems increase, software development process couldn’t be bound to just codifying some modules that serve needed functionality and finding the appropriate configuration of these modules. Instead, a growing need emerges to sketch a big picture of the whole system that not only identifies basic parts of functionality, but also harmonizes these parts internally, manages how these parts will provide needed functionality, and paves the way for future adaptation. The answer to this need was software architectures. The agile approach to software development wasn’t about introducing a magical solution that will handle all development problems. However, the agile architecting approach is believed to be a source of new problems. Through this paper, we are going to explore agile architecting problems and what is needed to achieve an architecting approach that can be agile, while serving its purpose of producing a stable architecture.
Similar to Uncovering hidden relationships from past changes: evolutionary dependencies and its applications (20)
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
Uncovering hidden relationships from past changes: evolutionary dependencies and its applications
1. UNCOVERING HIDDEN RELATIONSHIPS
FROM PAST CHANGES:
LOGICAL DEPENDENCIES AND ITS APPLICATIONS
Marco Aurélio Gerosa / Gustavo Ansaldi
Oliva
Computer Science Dept. - University of São Paulo
{gerosa,goliva}@ime.usp.br
Kyoto Research Park
Kyoto, Japan
MSR Asia Summit 2013
October 28th, 2013
4. Software dependencies in
general
4/31
A uses B if correct execution of B may be necessary for A to
complete the task described in its specification [Parnas, 1979].
A depends on B if the last is needed to compile or link A
[Lakos, 1996].
A dependency relation means that the semantics of the
depending elements is semantically or structurally
dependent on the definition of the supplier element [UML
Formal Specification].
A dependency means that a client element has knowledge of
A
B
the supplier element and a change in the supplier may affect
Marco A. Gerosa (gerosa@ime.usp.br)
5. Dependencies can be harmful
5/31
B
H
C
A
G
F
D
E
• More dependencies, more
maintenance effort [Banker et
al.1998].
• More dependencies, more
defects [Cataldo et al. 2009].
• Dependencies can lead to
negative ripple effects
[Pressman, 2001]
ClassC
Marco A. Gerosa (gerosa@ime.usp.br)
doStuff()
ClassA
doThisForMe()
ClassB
6. Dependencies may be hard to
identify
6/31
Publisher/subscriber, polymorphism, clones, cross
cutting concerns, semantic relations etc.
Unrecognized dependencies result in a higher
number of defects [Herbsleb et al. 2006].
A dependency means that a client element has
knowledge of the supplier element and a change
in the supplier may affect the client
[Larman, 2004].
Dependency
Change
Marco A. Gerosa (gerosa@ime.usp.br)
7. Logical dependencies
7/31
Files frequently changed together share some sort
of dependency [Gall et al. 1998]
Logical dependencies better predict failures and
quality compared to syntactic dependencies
[Cataldo et al. 2009]
Developers should focus on identifying
less-explicit relationships rather than obvious and
explicit syntactic dependencies [Cataldo, 2010]
Marco A. Gerosa (gerosa@ime.usp.br)
A
B
10. How to identify logical
dependencies
10/31
A logical dependency from A (client) to B (provider) occurs
when changes to B are done together with changes to A
A
Strong Logical dependency from B to A
(the opposite is a much weaker
dependency)
Marco A. Gerosa (gerosa@ime.usp.br)
80%
40%
B
A logical dependency denotes an implicit
and evolutionary relationship between
software artifacts
11. Clustering Classes
11/31
Clustering classes based on
modification records [Ball et al.,
1997]
Logical dependencies
characterized as the probability
of 2 classes changing together
The cluster identified semanticrelated classes
Marco A. Gerosa (gerosa@ime.usp.br)
Thomas Ball, Yung-Min Kim, Adam Porter, Harvey Siy. If Your
Version Control System Could Talk... Presented at the Workshop
on Process Modelling and Empirical Studies of Software
Engineering, ICSE 97, May 1997, MA, Boston
12. Logical coupling based on releases periods
12
Gall et al. [1998] proposed an
approach for logical
dependency identification
“Our technique reveals hidden
dependencies not evident in
the source code, identifies
modules that should undergo
restructuring, and is based on
minimal amount of data”
Use of the term for the first
time
Harald Gall, Karin Hajek, and Mehdi Jazayeri. 1998. Detection of
Logical Coupling Based on Product Release History. In Proceedings of
the International Conference on Software Maintenance (ICSM '98).
IEEE Computer Society, Washington, DC, USA, 190-198.
A.ab.144 <1,2,4,7>
C.bc.201 <1,2,4,7>
[subsystem.module.program]
Coupling among subsystems [Gall et
13. Grouping consecutive changes in CVS
repositories
13
Gall et al. [2003] defined
an approach with a fixed
time window to capture
logical dependencies in
CVS repositories
Design flaws could be
discovered without any
analysis of source code
Marco A. Gerosa (gerosa@ime.usp.br)
Class 13.c.18.A was 21 times checked in
together
14. Association rules and sliding-time window
14
Zimmerman et al. [2005] formalized logical
dependencies as association rules
Frequency
Support
Confidence
They used a sliding-time window to recover change
transactions from CVS
Correct prediction of more than 70% of following
changes
Thomas Zimmermann, Peter Weissgerber, Stephan Diehl, and Andreas Zeller. 2005. Mining Version Histories to Guide
Software Changes. IEEE Trans. Software Eng. 31, 6 (June 2005), 429-445. DOI=10.1109/TSE.2005.72
15. 15
After the programmer has made some changes to the source (above), ROSE suggests locations (below)
where, in similar transactions in the past, further changes were made [Zimmerman et al., 2005]
16. Where are we?
16/31
What are Logical Dependencies?
Identification of Logical Dependencies
Applications of Logical Dependencies
Our Research on Logical Dependencies
The Road Ahead
Marco A. Gerosa (gerosa@ime.usp.br)
17. Evolution Radar
17/35
Marco A. Gerosa (gerosa@ime.usp.br)
Marco D'Ambros, Michele Lanza, and Mircea Lungu. 2009.
Visualizing Co-Change Information with the Evolution Radar.
IEEE Trans. Softw. Eng. 35, 5 (September 2009), 720-735.
18. Coordination requirements
18/35
Organizations often cope with complex tasks by
dividing them into smaller interdependent work
units and then assigning such units to teams
Coordination among teams arises as a response
to such interdependent work units
Logical dependencies were applied to determine
coordination requirements among developers
Marcelo Cataldo, Patrick A. Wagstrom, James D. Herbsleb, and Kathleen M.
Carley. 2006. Identification of coordination requirements: implications for the
Design of collaboration and awareness tools. In Proceedings of the 2006
Conference on Computer supported cooperative work (CSCW '06).
19. Applications
19/35
Pinzger et al. [2005] showed that it facilitates
the detection of potential refactoring
candidates.
D’Ambros et al. [2006] showed that logical
dependencies improved bug prediction models
Breu and Zimmermann [2006] used it to
identify and rank crosscutting concerns in
software systems.
Marco A. Gerosa (gerosa@ime.usp.br)
20. And more…
20
Logical dependencies have also been employed to
The impact on failures [Cataldo et al., 2009]
Change prediction and change impact analysis [Kagdi et al., 2007]
Uncover cross-cutting concerns [Canfora et al., 2006]
Uncover design flaws and opportunities for
refactoring, restructuring, reenginering [Beyer & Hassan, 2006]
Understand and evaluate software architecture [Zimmermman et
al., 2003]
Maintain documentation (internationalization, etc.) [Kagdi et
al., 2006]
…
Marco A. Gerosa (gerosa@ime.usp.br)
21. Where are we?
21/31
What are Logical Dependencies?
Foundation of Logical Dependencies
Applications of Logical Dependencies
Our Research on Logical Dependencies
The Road Ahead
Marco A. Gerosa (gerosa@ime.usp.br)
22. Structural vs logical
dependencies
22/31
How do structural and logical
dependencies relate?
Analysis of commits of the ASF showed
that:
Dependency
93% of the logical dependencies did not
involve structural dependencies
95% of the structural dependencies did not
imply in a logical dependency
Structural dependencies do not frequently
lead to logical dependencies (!)
Gustavo Ansaldi Oliva and Marco Aurelio Gerosa. 2011. On the Interplay between Structural and
Logical Dependencies in Open-Source Software. In Proceedings of the 2011 25th Brazilian
Symposium on Software Engineering (SBES '11). IEEE Computer
Change
23. The origins of Logical
Dependencies
23/31
Gustavo A. Oliva, Francisco W.S. Santana, Marco A. Gerosa, and
Cleidson R.B. de Souza. 2011. Towards a classification of logical
dependencies origins: a case study. In Proceedings of the 12th
International Workshop on Principles of Software Evolution and the
7th annual ERCIM Workshop on Software Evolution (IWPSE-EVOL
24. improve logical dependencies
identification
24/31
Commit <> change
The implementation of a single
change may span consecutive
and closely related commits
Application of the CVS sliding
time window approach
[Zimmerman et al., 2004] to group
timely-close and
semantically-related
change-sets, maintaining
repository consistency
Oliva, G. A., Santana, F., Gerosa, M. A., Souza, C. (2012), “Preprocessing Change-Sets to Improve
We were able to group ~10% of
Logical Dependencies Identification”, Sixth International Workshop on Software Quality and
Maintainability (SQM 2012)
all commits in the ASF
25. Next steps
25/31
Develop a framework for the identification of
logical dependencies
Expand previous studies
Survey about logical dependencies
Marco A. Gerosa (gerosa@ime.usp.br)
26. Where are we?
26/31
What are Logical Dependencies?
Foundation of Logical Dependencies
Applying Logical Dependencies
Our Research on Logical Dependencies
The Road Ahead
Marco A. Gerosa (gerosa@ime.usp.br)
27. Terminology
27/31
Different terms have often been used interchangeably
Logical dependencies or coupling
Change dependencies or coupling
Evolutionary dependencies or coupling
Historical dependencies or coupling
Co-changes
Marco A. Gerosa (gerosa@ime.usp.br)
28. And what happens between
commits?
28
Marco A. Gerosa (gerosa@ime.usp.br)
[Robbes et
29. Challenges: Understanding Influencing
Factors
29/31
Improve the identification of logical
dependencies
Commit
habits
The influence of the chosen technology (VCS)
The nature of changes
Period of analysis
Filtering options
Marco A. Gerosa (gerosa@ime.usp.br)
30. Summary
30/31
Logical dependencies have been applied for a
variety of purposes
Useful
to better understand software and
organizational aspects
Complements existing
approaches, techniques, and tools
Needs more investigation on its calculation
Marco A. Gerosa (gerosa@ime.usp.br)
31. Thank you for your attention
31/31
Marco Aurélio
Gerosa
Gustavo Ansaldi
Twitter: {@gerosa_marco,@golivax}
gerosa@ime.usp.br
Oliva
golivax@gmail.com
Software Engineering &
Collaborative Systems Research
http://lapessc.ime.usp.br/
32. References
32/31
D. L. Parnas. 1979. Designing Software for Ease of Extension and Contraction. IEEE Trans.
Softw. Eng. 5, 2 (March 1979), 128-138. DOI=10.1109/TSE.1979.234169
John Lakos. 1996. Large-Scale C++ Software Design. Addison Wesley Longman Publishing Co.,
Inc., Redwood City, CA, USA
[UML Formal Specification] Retrieved from
http://www.omg.org/technology/documents/formal/uml.htm
Craig Larman. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis
and Design and Iterative Development (3rd Edition). Prentice Hall PTR, Upper Saddle River, NJ,
USA
Marco D'Ambros and Michele Lanza. 2006. Reverse Engineering with Logical Coupling. In
Proceedings of the 13th Working Conference on Reverse Engineering (WCRE '06). IEEE
Computer Society, Washington, DC, USA, 189-198. DOI=10.1109/WCRE.2006.51
Banker, R., et al. Software Development Practices, Software Complexity, and Software
Maintenance Performance: A Field Study. Management Science 40(4): 433–450.
Romain Robbes. Of Change and Software. Phd Thesis. University of Lugano.
Some references may be missing, please enter in contact with us if you need them.
Marco A. Gerosa (gerosa@ime.usp.br)
33. References
33/31
Thomas Ball, Yung-Min Kim, Adam Porter, Harvey Siy. If Your Version Control System Could Talk... Presented at
the Workshop on Process Modelling and Empirical Studies of Software Engineering, ICSE 97, May
1997, MA, Boston
Cataldo, M., & Nambiar, S. (2010). The impact of geographic distribution and the nature of technical coupling on
the quality of global software development projects. Quality. doi:10.1002/smr
Harald Gall, Karin Hajek, and Mehdi Jazayeri. 1998. Detection of Logical Coupling Based on Product Release
History. In Proceedings of the International Conference on Software Maintenance (ICSM '98). IEEE Computer
Society, Washington, DC, USA, 190-198.
Harald Gall, Mehdi Jazayeri, and Jacek Krajewski. 2003. CVS Release History Data for Detecting Logical
Couplings. In Proceedings of the 6th International Workshop on Principles of Software Evolution (IWPSE '03).
IEEE Computer Society, Washington, DC, USA, 13-.
Thomas Zimmermann, Peter Weisgerber, Stephan Diehl, and Andreas Zeller. 2004. Mining Version Histories to
Guide Software Changes. In Proceedings of the 26th International Conference on Software Engineering (ICSE
'04). IEEE Computer Society, Washington, DC, USA, 563-572.
Thomas Zimmermann, Peter Weissgerber, Stephan Diehl, and Andreas Zeller. 2005. Mining Version Histories to
Guide Software Changes. IEEE Trans. Softw. Eng. 31, 6 (June 2005), 429-445. DOI=10.1109/TSE.2005.72
http://dx.doi.org/10.1109/TSE.2005.72
Some references may be missing, please enter in contact with us if you need them.
Marco A. Gerosa (gerosa@ime.usp.br)
34. References
34/31
Marco D'Ambros and Michele Lanza. 2006. Reverse Engineering with Logical
Coupling. In Proceedings of the 13th Working Conference on Reverse Engineering
(WCRE '06). IEEE Computer Society, Washington, DC, USA, 189-198.
DOI=10.1109/WCRE.2006.51
W. P. Stevens, G. J. Myers, and L. L. Constantine. 1974. Structured design. IBM
Syst. J. 13, 2 (June 1974), 115-139. DOI=10.1147/sj.132.0115
http://dx.doi.org/10.1147/sj.132.0115
Marco D'Ambros, Michele Lanza, and Romain Robbes. 2009. On the Relationship
Between Change Coupling and Software Defects. In Proceedings of the 2009 16th
Working Conference on Reverse Engineering (WCRE '09). IEEE Computer Society,
Washington, DC, USA, 135-144. DOI=10.1109/WCRE.2009.19
http://dx.doi.org/10.1109/WCRE.2009.19
Thomas Zimmermann, Stephan Diehl, and Andreas Zeller. 2003. How History
Justifies System Architecture (or Not). In Proceedings of the 6th International
Workshop on Principles of Software Evolution (IWPSE '03). IEEE Computer Society,
Some references may be missing, please enter in contact with us if you need them.
Washington, DC, USA, 73-.
Marco A. Gerosa (gerosa@ime.usp.br)
Editor's Notes
Harald Gall, Mehdi Jazayeri, and JacekKrajewski. 2003. CVS Release History Data for Detecting Logical Couplings. In Proceedings of the 6th International Workshop on Principles of Software Evolution (IWPSE '03). IEEE Computer Society, Washington, DC, USA, 13-.
Thomas Zimmermann, Peter Weissgerber, Stephan Diehl, and Andreas Zeller. 2005. Mining Version Histories to Guide Software Changes. IEEE Trans. Softw. Eng. 31, 6 (June 2005), 429-445. DOI=10.1109/TSE.2005.72 http://dx.doi.org/10.1109/TSE.2005.72 Based on their paper from ICSE: Thomas Zimmermann, Peter Weisgerber, Stephan Diehl, and Andreas Zeller. 2004. Mining Version Histories to Guide Software Changes. In Proceedings of the 26th International Conference on Software Engineering (ICSE '04). IEEE Computer Society, Washington, DC, USA, 563-572.
Evolution RadarMarco D'Ambros, Michele Lanza, and MirceaLungu. 2006. The evolution radar: visualizing integrated logical coupling information. In Proceedings of the 2006 international workshop on Mining software repositories(MSR '06). ACM, New York, NY, USA, 26-32. DOI=10.1145/1137983.1137992 http://doi.acm.org/10.1145/1137983.1137992Marco D'Ambros, Michele Lanza, and MirceaLungu. 2009. Visualizing Co-Change Information with the Evolution Radar. IEEE Trans. Softw. Eng. 35, 5 (September 2009), 720-735. DOI=10.1109/TSE.2009.17 http://dx.doi.org/10.1109/TSE.2009.17
Marcelo Cataldo, Patrick A. Wagstrom, James D. Herbsleb, and Kathleen M. Carley. 2006. Identification of coordination requirements: implications for the Design of collaboration and awareness tools. In Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work (CSCW '06). ACM, New York, NY, USA, 353-362. DOI=10.1145/1180875.1180929 http://doi.acm.org/10.1145/1180875.1180929
S. Breu and T. Zimmermann. Mining aspects from version history. In Proceedings of the 21st IEEE International Conference on Automated Software Engineering (ASE’06), pages 221–230. IEEE Computer Society, 2006M. Pinzger, H. Gall, M. Fischer, and M. Lanza. Visualizing multiple evolution metrics. In Proceedings of SoftVis 2005 (2nd ACM Symposium on Software Visualization), pages 67–75, St. Louis, Missouri, USA, May 2005.
Marcelo Cataldo, AudrisMockus, Jeffrey A. Roberts, and James D. Herbsleb. 2009. Software Dependencies, Work Dependencies, and Their Impact on Failures. IEEE Trans. Softw. Eng. 35, 6 (November 2009), 864-878. DOI=10.1109/TSE.2009.42 http://dx.doi.org/10.1109/TSE.2009.42